home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 49 / Amiga Format CD49 (2000-01-17)(Future Publishing)(GB)(Track 1 of 3)[!][issue 2000-02].iso / -serious- / programming / mui / mcc_popph / mcc_popph_src / popph_clipboard.c < prev    next >
C/C++ Source or Header  |  1999-11-30  |  1KB  |  49 lines

  1.  
  2. /*
  3. ** $Id: popph_clipboard.c,v 1.2 1999/11/16 20:58:11 carlos Exp $
  4. **
  5. ** © 1999 Marcin Orlowski <carlos@amiga.com.pl>
  6. */
  7.  
  8. #include "popph.h"
  9.  
  10. /// _WriteClip
  11. int _WriteClip( char *data, int len, int clip_device )
  12. {
  13. struct IFFHandle *iffh;
  14. APTR   cliphandle;
  15. int    rc = FALSE;
  16.  
  17.     if( iffh = AllocIFF() )
  18.        {
  19.        if( cliphandle = OpenClipboard( clip_device ) )
  20.            {
  21.            iffh->iff_Stream = (ULONG)cliphandle;
  22.            InitIFFasClip( iffh );
  23.  
  24.            if( !OpenIFF( iffh, IFFF_WRITE ) )
  25.                {
  26.                PushChunk( iffh, MAKE_ID( 'F','T','X','T' ), MAKE_ID( 'F','O','R','M' ), IFFSIZE_UNKNOWN );
  27.                PushChunk( iffh, MAKE_ID( 'F','T','X','T' ), MAKE_ID( 'C','H','R','S' ), IFFSIZE_UNKNOWN );
  28.  
  29.                WriteChunkBytes( iffh, data, len );
  30.  
  31.                PopChunk( iffh );
  32.                PopChunk( iffh );
  33.  
  34.                CloseIFF( iffh );
  35.  
  36.                rc = TRUE;
  37.                }
  38.  
  39.            CloseClipboard( cliphandle );
  40.            }
  41.  
  42.        FreeIFF( iffh );
  43.        }
  44.  
  45.     return( rc );
  46. }
  47. //|
  48.  
  49.